The present invention relates to a semantic network machine used in an artificial intelligence computer system and, more particularly, to an apparatus and method which can perform inferential retrieval processing of a knowledge base consisting of a plurality of knowledge data arranged to constitute a semantic network, and can automatically solve high-level problems.
The existing von Neumann computer system is electronic equipment which carries out desired computing processing at high speed in accordance with a predetermined algorithm as software. The computer system is very popular for executing routine business tasks or for managing a data base so as to assist working capacity of man. However, the computer system has the limitation in that it cannot replace the intellectual faculty of man. In order to provide a breakthrough to this problem, studies have been made to provide an intellect to a computer so that it automatically provides solutions to high-level problems equivalent to those given by intellectual activities of man. An approach for technically realizing the subject of studies is generally called "artificial intelligence".
The basic functions of an artificial intelligence computer system, which is expected as a new generation computer, mainly include (1) inference function, (2) knowledge base function, (3) intellectual interface function, (4) intellectual programming function, and the like. The knowledge base function can be defined as a function not for simply accumulating data but for systematically storing and retrieving knowledge systematizing logical decisions, experiences, learning results, and the like. As a technique for representing knowledge using a computer, a semantic network is known. According to the semantic network, the conceptional structure of knowledge is represented by objects and their mutual relationships. In the semantic network, the objects are normally indicated by nodes. The nodes are coupled by links such as arrows, so that the mutual relationships therebetween are represented in a network manner. In the semantic network, inference is performed by following events along the links. A knowledge base which is constituted on the basis of the semantic network is featured in that (i) since information associated with a given object can be easily extracted, associative inference processing can be performed, (ii) a concept is systematized to minimize the volume of information to be stored, and (iii) a storage method resembling the human brain can be realized.
According to Technical Report of IECEJ, EC85-55, "A Semantic Network Machine with Associative Memories", T. Higuchi et al., (1986), pages 9-20, a knowledge base which is constituted based on a semantic network is stored in a main associative memory. Objects are mutually connected by links to form a pyramid-shaped tree structure. In a unit knowledge, e.g., knowledge "ROBIN has WING", "ROBIN" is called an object, "has" is called an attribute, and "WING" is called a value. According to the semantic network, object "ROBIN" and value "WING" are represented by nodes, and attribute "has" is represented by a link. A set of "object-attribute-value" is stored in an associative memory as unit knowledge data. Other knowledges are similarly stored in the associative memory, thus forming a knowledge list in the associative memory.
With this arrangement, assuming that a question "What does CLYDE have?" is input and the question is answered, if only knowledge data teaching "BIRD has WING" is prepared in the associative memory, the following inferential retrieval must be sequentially performed for the associative memory:
(1) retrieval of knowledge data "CLYDE has *" (first cycle, this retrieval is unsuccessful); PA1 (2) retrieval for finding what is "CLYDE" (second cycle); PA1 (3) retrieval of knowledge data "ROBIN has *" after knowledge teaching that "CLYDE" is "ROBIN" is retrieved (third cycle, this retrieval is unsuccessful); PA1 (4) retrieval for finding what is "ROBIN" (fourth cycle); PA1 (5) retrieval of knowledge data "BIRD has *" after knowledge teaching "ROBIN" is "BIRD" is retrieved (fifth cycle, knowledge "ROBIN has WING" is found and the retrieval is successful); and PA1 (6) outputting answer ["CLYDE" has "WING"] to the question.
Although parallel data access is performed in the associative memory, the above retrieval cycles must be sequentially executed upon execution of inferential retrieval processing (matching processing) for extracting knowledge necessary for answering a given question. This results in an increase in the processing time and a decrease in the execution speed of the inference processing. Even the above simple example requires at least five retrieval cycles. As the knowledge base becomes more complicated, the number of retrieval cycles is increased. As a result, the inference processing speed is further decreased.